Insecure Bank2 취약점(6)

Insecure Bank2 취약점(6)

Description
취약한 암호화 실행
category
MobileHacking
Tag
Mobile Security
Andorid
Date
Mar 1, 2024 05:15 AM

취약한 암호화 실행

취약한 암호화 실행이란?

말 그대로 취약한 암호화를 통해 암호화를 하여 생기는 취약점이다.
위험하다고 알려진 알고리즘으로는 MD5, SHA1, DES 등이 있다.
 

취약점 진단

LoginActivity.class를 보면 mySharedPreferences에서 username과 password를 가져오는데 username은 base64로 복호화를 진행하고, password는 CryptoClass()를 이용하여 aes로 복호화를 진행하는 것을 볼 수 있다.
notion image
 
Cryptoclass.class를 보면 AES복호화를 진행하는데 KEY의 값이 그대로 표기 되어있는것을 볼 수 있다.
심지여 해당 키를 가져다 그대로 사용하는 것도 알 수 있다.
notion image

대응방안

AES등 암호화에 필요한 키값을 String 변수에 하드 코드 방식으로 직접 넣어 사용하여 취약점이 발생하였다. 따라서 키 값을 hash화를 하여 저장하거나 외부 저장소에서 가져와 사용하는 것도 방법 중 하나이다.
추가적으로 검증된 암호화 알고리즘을 사용하여준다. 아래 사이트를 참고하면 좋을 것 같다.